Skip to content

Release/1.8.2#290

Merged
shibu-kv merged 5 commits intomainfrom
release/1.8.2
Mar 18, 2026
Merged

Release/1.8.2#290
shibu-kv merged 5 commits intomainfrom
release/1.8.2

Conversation

@shibu-kv
Copy link
Contributor

No description provided.

shibu-kv and others added 5 commits February 27, 2026 12:35
* RDKEMW-10467: Fix Invalid time values caused by drift use CLOCK_MONOTONIC

Reason for Change: Changing CLOCK_REALTIME to CLOCK_MONOTONIC to avoid clock drifts impact in the calculations
Test Procedure: When Telemetry report generation is in progress change the time. The processing time should have a valid value
Risks: Low
Priority: P1

* Coverity Fix

* Fix Formatting and Coverity

* Fix formatting and coverity

---------

Co-authored-by: Shibu Kakkoth Vayalambron <shibu.kakkoth@gmail.com>
Co-authored-by: Priya_Dharshini <priyakathiravan05@gmail.com>
* Agentic tools for development and maintenance efficiency
Includes reusable instructions, agents and skills based on scenario

* Correct obsolete documentation related to test containers

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: shibu-kv <89052442+shibu-kv@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rm calls (#287)

* RDKB-63722:Analyze and fix/mitigate memory leaks from curl_easy_perform calls

Reason for change: Three compounding sources of unbounded internal state in OpenSSL / libcurl that code failed to constrain:

1] Unbounded connection cache per handle — CURLOPT_MAXCONNECTS was never set. libcurl defaults to 5 cached connection objects per handle. Each cached entry retains a live SSL object (TLS state, session ticket, handshake records). On devices with 180-day uptime where the server resets connections every 30s + each connection having probability of hitting different load balancers,  this cache churns and accumulates stale SSL objects over time.
2] SSL session ticket accumulation — CURLOPT_SSL_SESSIONID_CACHE was never disabled. libcurl maintains a session-ticket cache inside each handle's SSL_CTX. Stale tickets from rotated or expired server certs or load balancers remain cached until OpenSSL's 300s session timeout. Across days of uptime with endpoint or cert changes, this accumulates visibly in VmRSS.
3] OpenSSL per-thread error queue not drained— OpenSSL uses a per-thread ERR_STATE list. Every TLS operation that encounters an error (connection reset, cert verify failure, network timeout) pushes records onto this list. The libcurl code never called ERR_clear_error() explicitly, so on any error path the queue has chances to grow indefinitely
4] set CURLOPT_DNS_CACHE_TIMEOUT=30 to bound DNS cache lifetime to the server reset interval, preventing stale IP->hostname mappings from accumulating as load balancer IPs rotate.

Test Procedure: please refer the ticket comments
Risks: Medium

* Addressed the L1 Testcases Compilation Error with respect to multicurlinterface.c

* Added the OPENSSL_thread_stop()  at the end of worker thread

* Reduce Memory Fragmentation to limit the  send/receive buffer to 8KB
@shibu-kv shibu-kv requested a review from a team as a code owner March 18, 2026 23:34
Copilot AI review requested due to automatic review settings March 18, 2026 23:34
@shibu-kv shibu-kv merged commit 8afabb7 into main Mar 18, 2026
17 of 18 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Mar 18, 2026
@rdkcmf-jenkins
Copy link
Contributor

Coverity Issue - Data race condition

Accessing "profile->grepSeekProfile->execCounter" without holding lock "plMutex". Elsewhere, "_GrepSeekProfile.execCounter" is written to with "plMutex" held 2 out of 2 times.

Medium Impact, CWE-366
MISSING_LOCK

Issue location

This issue was discovered outside the diff for this Pull Request. You can find it at:
source/bulkdata/profile.c:344

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants